package com.xueyi.aixihu.status;

/**
 * 描述 财务状态
 *
 * @auther 俞烨
 * @date 2022-08-17 10
 */
public enum FinanceStatus {

    /**
     * 报表当前的状态
     * 0 草稿箱
     * 1 第一级审核（代理会计、会计审核）
     * 2 第二级审核（经发办主任、财经办主任）
     * 3 第三级审核（分管领导审核）
     * 4 已通过
     * -1 驳回到第二级审核
     * -2 驳回到第一级审核
     * -3 驳回到报帐员
     */
    CAO_GAO(0, "草稿箱", "草稿箱"),
    ONE_AUDIT(1, "第一级审核（代理会计、会计审核）", "代理会计"),
    TWO_AUDIT(2, "第二级审核（经发办主任、财经办主任）", "经发办主任"),
    THREE_AUDIT(3, "第三级审核（分管领导审核）", "分管领导"),
    PASS_AUDIT(4, "已通过", "已通过"),
    TURN_TWO(-1, "驳回到经发办主任、财经办主任审核", "经发办主任重新审核"),
    TURN_ONE(-2, "驳回到代理会计、会计审核", "代理会计重新审核"),
    TURN_ZERO(-3, "驳回到村、社区", "村重新审核"),
    COMMAND_UPDATE(5, "报表公开", "报表公开");
    public final int type;
    public final String msg;

    public final String systemMsg;

    FinanceStatus(int type, String msg, String systemMsg) {
        this.type = type;
        this.msg = msg;
        this.systemMsg = systemMsg;
    }


    public static String getAuditMsg(Integer status, Integer areaType) {

        if (status.equals(CAO_GAO.type)) {
            return CAO_GAO.systemMsg;
        } else if (status.equals(ONE_AUDIT.type)) {
            return (areaType + "").equals("2") ? ONE_AUDIT.systemMsg : "会计";
        } else if (status.equals(TWO_AUDIT.type)) {
            return (areaType + "").equals("2") ? TWO_AUDIT.systemMsg : "财经办主任";
        } else if (status.equals(THREE_AUDIT.type)) {
            return THREE_AUDIT.systemMsg;
        } else if (status.equals(PASS_AUDIT.type)) {
            return PASS_AUDIT.systemMsg;
        } else if (status.equals(TURN_TWO.type)) {
            return (areaType + "").equals("2") ? TURN_TWO.systemMsg : "财经办主任重新审核";
        } else if (status.equals(TURN_ONE.type)) {
            return (areaType + "").equals("2") ? TURN_ONE.systemMsg : "会计重新审核";
        } else {
            return (areaType + "").equals("2") ? TURN_ZERO.systemMsg : "社区重新审核";
        }
    }
}
